@mixin colorPicker() {
  .esri-color-picker {
    font-size: $text_size_small;
    color: $button_text_color;
    text-shadow: none;
    width: 226px;
  }

  .esri-color-picker .esri-section {
    margin: 10px 0 8px;
  }

  .esri-color-picker .esri-section:last-child {
    margin-bottom: 0;
  }

  .esri-color-picker.esri-container {
    display: inline-block;
    padding: $cap_spacing $side_spacing;
    background-color: $background_color;
  }

  .esri-color-picker .esri-hex-input {
    display: inline-block;
    color: $button_text_color;
    width: 5.6em;
    border: 1px solid $border_color;
    direction: ltr;
    text-transform: uppercase;
    vertical-align: middle;
  }

  .esri-color-picker .esri-input-label {
    display: inline-block;
    vertical-align: middle;
  }

  .esri-color-picker .esri-swatch {
    vertical-align: middle;
    height: 15px;
    width: 15px;
    display: inline-block;
    cursor: pointer;
    margin: 0;
    border-radius: 0;
    border-color: transparent;
    transition: background-color .25s ease-in-out, transform 0.25s ease-in-out;
  }

  .esri-color-picker .esri-swatch-empty:before {
    display: inline-block;
    background-color: #f00;
    position: absolute;
    height: 1px;
    bottom: 0;
    left: 0;
    width: 200%;
    transform: rotate(-45deg);
    transform-origin: top left;
    content: "";
    z-index: 1;
  }

  .esri-color-picker .esri-swatch-empty {
    position: relative;
    overflow: hidden;
    border: solid 1px $border_color;
    background-color: $background_color;
    transition: border-color 0.25s ease-in-out;
  }

  .esri-color-picker .esri-palette-options {
    padding: 6px 0 0;
    position: relative;
  }

  .esri-color-picker .esri-palette-options .esri-swatch-empty {
    margin: 0 10px 0;
  }

  .esri-color-picker .esri-palette-options .esri-palette-toggle {
    position: absolute;
    right: 0;
    color: $button_text_color;
    vertical-align: middle;
    box-shadow: none;
    border: none;
    padding: 0;
    font-size: inherit;
    background: none;
    box-shadow: none;
    border: none;
    padding: 0;
    cursor: pointer;
  }

  .dijitRtl .esri-color-picker .esri-palette-options .esri-palette-toggle {
    left: 0;
    right: auto;
  }

  .esri-color-picker .esri-label {
    margin: 0 0 4px;
  }

  .esri-color-pickerLabel.esri-disabled {
    opacity: 0.6;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=60)";
  }

  .esri-color-picker .esri-swatch-preview {
    margin: 0;
    vertical-align: middle;
    display: inline-block;
    height: 25px;
    width: 100%;
  }

  .esri-color-picker .esri-swatch-preview.esri-container {
    position: relative;
    left: 0;
    right: 0;
    display: block;
    text-align: center;
  }

  .esri-color-picker .esri-swatch-preview .esri-swatch {
    position: absolute;
    cursor: auto;
    margin: 0;
    right: 0;
    top: 0;
    bottom: 0;
    left: 0;
    height: 25px;
    width: 100%;
  }

  .esri-color-picker .esri-swatch-preview .esri-swatch.esri-swatch-empty {
    display: none;
  }

  .esri-color-picker .esri-swatch-row {
    font-size: 0;
    white-space: nowrap;
    line-height: 0;
  }

  .esri-color-picker .esri-palette.esri-recent:empty {
      background-color: $background_hover_color;
      box-shadow: 0 0 0 1px $border_color;
      width: 15px;
      height: 15px;
  }

  .esri-color-picker .esri-swatch.esri-swatch-transparency-background {
    background-image: url("../base/images/transparent-bg.png");
  }

  .esri-color-picker .esri-palette .esri-swatch.esri-selected {
    border: 1px solid;
  }

  .esri-color-picker .esri-swatch.esri-selected {
    animation: esri-color-picker-highlight-selection 0.2s ease;
  }

  .esri-color-picker .esri-transparency-slider::-ms-tooltip {
    display: none;
  }

  .esri-color-picker .esri-transparency-slider[type=range] {
    -webkit-appearance: none;
    margin: 0;
    width: 100%;
  }

  .esri-color-picker .esri-transparency-slider[type=range]::-webkit-slider-runnable-track {
    width: 100%;
    height: 4px;
    cursor: pointer;
    box-shadow: none;
    background-color: $border_color;
    border-radius: 0px;
    border: none;
    transition: background-color 250ms ease-in-out;
  }

  .esri-color-picker .esri-transparency-slider[type=range]::-webkit-slider-thumb {
    box-shadow: none;
    border: none;
    height: floor($button_height/2);
    width: 10px;
    border-radius: 2px;
    background-color: $button_text_color;
    cursor: pointer;
    -webkit-appearance: none;
    margin-top: floor($button_height/5) * -1;
    transition: background-color 250ms ease-in-out;
  }

  .esri-color-picker .esri-transparency-slider[type=range][disabled]::-webkit-slider-runnable-track {
    background-color: rgba($disabled_color, $disabled_opacity);
  }

  .esri-color-picker .esri-transparency-slider[type=range][disabled]::-webkit-slider-thumb {
    background-color: $disabled_color;
  }

  .esri-color-picker .esri-transparency-slider[type=range][disabled],
  .esri-color-picker .esri-transparency-slider[type=range][disabled]::-webkit-slider-runnable-track,
  .esri-color-picker .esri-transparency-slider[type=range][disabled]::-webkit-slider-thumb {
    cursor: default;
  }

  .esri-color-picker .esri-transparency-slider[type=range][disabled]+.esri-color-picker-ticks {
    color: $disabled_color;
  }

  .esri-color-picker .esri-transparency-slider[type=range]:focus::-webkit-slider-runnable-track {
    background-color: $border_color;
  }

  .esri-color-picker .esri-transparency-slider[type=range]::-moz-range-track,
  .esri-color-picker .esri-transparency-slider[type=range]::-ms-track {
    width: 100%;
    height: 4px;
    cursor: pointer;
    box-shadow: none;
    background-color: $border_color;
    border: none;
    border-radius: 0px;
    border: none;
    color: transparent;
  }

  .esri-color-picker .esri-transparency-slider[type=range]::-moz-range-thumb,
  .esri-color-picker .esri-transparency-slider[type=range]::-ms-thumb {
    box-shadow: none;
    border: none;
    height: floor($button_height/2);
    width: 10px;
    border-radius: 2px;
    background: $button_text_color;
    cursor: pointer;
  }

  .esri-color-picker .esri-transparency-slider[type=range]::-ms-fill-lower,
  .esri-color-picker .esri-transparency-slider[type=range]::-ms-fill-upper {
    background: $border_color;
    border: none;
    border-radius: 0px;
    box-shadow: none;
  }

  .esri-color-picker .esri-transparency-slider[type=range]:focus::-ms-fill-lower,
  .esri-color-picker .esri-transparency-slider[type=range]:focus::-ms-fill-upper {
    background: $border_color;
  }

  .esri-color-picker .esri-palette.esri-container.esri-alt .esri-palette {
    left: -100%;
  }

  .esri-color-picker .esri-palette.esri-container {
    width: 100%;
    overflow: hidden;
    white-space: nowrap;
  }

  .esri-color-picker .esri-palette {
    left: 0;
    width: 100%;
    position: relative;
    display: inline-block;
    vertical-align: middle;
    transition: left 0.15s, visibility 0.1s;
  }

  .esri-color-picker .esri-container .esri-palette {
    margin: floor($cap_spacing/2) 0;
  }

  .dijitRtl .esri-color-picker .esri-palette {
    left: auto;
    right: 0;
    transition-property: right;
  }

  .dijitRtl .esri-color-picker .esri-palette.esri-container.esri-alt .esri-palette {
    right: -100%;
    left: 0;
  }

  .esri-color-picker .esri-color-picker-ticks {
    margin-top: floor($cap_spacing*0.75);
    display: flex;
    justify-content: space-between;
    transition: color 250ms ease-in-out;
  }

}

@if $include_ColorPicker == true {
  @include colorPicker();
}
